package com.wjw.spring5.collectionDI.beanlife;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

/**
 * @author wjw
 * @date 2021年10月29日 18:20
 */
public class PostProcessor implements BeanPostProcessor {
    /**
     * 实例化、依赖注入完毕，在调用显示的初始化之前完成一些定制的初始化任务
     * 可以根据beanName不同执行不同的处理操作
     * 在所有初始化方法之前调用
     */
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("初始化前:" + bean  + "\t" + beanName);
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        System.out.println("初始化后:" + bean  + "\t" + beanName);
        return bean;
    }
}
